Combined orbit and attitude determination system and methods

ABSTRACT

A system and methods for calculating an attitude and a position of an object in space are disclosed. Measurements in relation to an object, stars, and a signal timing are received at a combined orbit and attitude determination system to provide received measurements. An estimated separation angle error, an estimated position error, and an estimated attitude error are estimated based upon the received measurements to provide estimated errors.

FIELD

Embodiments of the present disclosure relate generally to spacecraft motion determination systems. More particularly, embodiments of the present disclosure relate to combined orbit and attitude determination systems for an object.

BACKGROUND

For most spacecraft, knowledge of a position (orbit location) and attitude of the spacecraft is essential in supporting a mission of the spacecraft. A spacecraft Guidance, Navigation and Control (GNC) system relies on a set of sensors and corresponding algorithms to perform position and attitude control. Traditionally, attitude determination and position determination subsystems are two separate parts of a spacecraft such as a satellite and reply on two separate sets of sensors and processing. Both are large contributors to a cost of satellite development and satellite operations.

SUMMARY

A system and methods for calculating an attitude and a position of an object in space are disclosed. Measurements in relation to an object, stars, and a signal timing are received at a combined orbit and attitude determination system to provide received measurements. An estimated separation angle error, an estimated position error, and an estimated attitude error are estimated based upon the received measurements to provide estimated errors.

In this manner, a combined unit and/or combined processing module provides simultaneous orbit and attitude solution which can provide substantial cost savings in both development and operation of a spacecraft.

In an embodiment, a combined orbit and attitude determination system comprises a star sensor, an object sensor, and a computation module. The star sensor measures an attitude of a spacecraft in an object centered inertial coordinate frame to provide a star sensor measured attitude. The object sensor measures an object position relative to at least one star to provide an object sensor measured position. The computation module estimates an estimated separation angle error, an estimated position error, and an estimated attitude error, based upon the star sensor measured attitude, and the object sensor measured position to provide estimated errors.

In another embodiment, a method for calculating an attitude and position of an object in space receives measurements in relation to an object, stars, gyroscope rate and a signal timing at a combined orbit and attitude determination system to provide received measurements. The method then estimates an estimated separation angle error, an estimated position error, and an estimated attitude error based upon the received measurements to provide estimated errors.

In a further embodiment, a method for calculating an attitude and position of an object in space measures a star-spacecraft vector to a star relative to a spacecraft. The method then measures a plurality of glow arc points on a glow arc of a spatial body and calculates a spatial body center of the spatial body based on the glow arc points. The method further estimates an estimated separation angle error, an estimated position error, and an estimated attitude error, based upon the star-spacecraft vector, the glow arc points and the spatial body center, to provide estimated errors. The method then calculates a separation angle estimate of the star to the spatial body center based upon the star-spacecraft vector, the spatial body center and the estimated separation angle error, and calculates an updated attitude and an updated position of the spacecraft relative to the spatial body based on the separation angle estimate, a location of the star, a location of the spatial body, and the estimated errors.

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF DRAWINGS

A more complete understanding of embodiments of the present disclosure may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numbers refer to similar elements throughout the figures. The figures are provided to facilitate understanding of the disclosure without limiting the breadth, scope, scale, or applicability of the disclosure. The drawings are not necessarily made to scale.

FIG. 1 is an illustration of a geometric operation environment of a combined orbit and attitude determination system according to an embodiment of disclosure.

FIG. 2 is an illustration of a schematic functional block diagram of a combined orbit and attitude determination system according to an embodiment of the disclosure.

FIG. 3 is an illustration of a star/Earth separation graph showing parameters for estimating center of the Earth according to an embodiment of disclosure.

FIG. 4 is an illustration of an exemplary flowchart showing a combined orbit and attitude determination process according to an embodiment of the disclosure.

FIG. 5 is an illustration of an exemplary flowchart showing a process for calculating an attitude and position of an object in space according to an embodiment of the disclosure.

DETAILED DESCRIPTION

The following detailed description is exemplary in nature and is not intended to limit the disclosure or the application and uses of the embodiments of the disclosure. Descriptions of specific devices, techniques, and applications are provided only as examples. Modifications to the examples described herein will be readily apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the disclosure. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding field, background, summary or the following detailed description. The present disclosure should be accorded scope consistent with the claims, and not limited to the examples described and shown herein.

Embodiments of the disclosure may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For the sake of brevity, conventional techniques and components related to optical sensors, accelerometers, gyroscopes, star identification techniques, matrix operations, mathematical modeling, and other functional aspects of the systems (and the individual operating components of the systems) may not be described in detail herein.

Embodiments of the disclosure are described herein in the context of a practical non-limiting application, namely, a combined orbit and attitude determination system for a spacecraft such as a satellite relative to the Earth. Embodiments of the disclosure, however, are not limited to such Earth applications, and the techniques described herein may also be utilized in other applications. For example, embodiments may be applicable to determining an attitude and position of a spacecraft relative to a known object. The object may comprise, for example but without limitation, a moon orbiting a planet such as Earth's moon, an asteroid approaching a planet or a space station, or any other known object whose separation angle from the spacecraft is measurable.

As would be apparent to one of ordinary skill in the art after reading this description, the following are examples and embodiments of the disclosure are not limited to operating in accordance with these examples. Other embodiments may be utilized and changes may be made without departing from the scope of the exemplary embodiments of the present disclosure.

Most orbit and attitude solutions are provided separately and via very different means. Attitude can be provided by Earth sensor, sun sensor or star trackers and the orbit information by ranging technique, Global Positing System (GPS) sensor or other means. There are several shortcomings of this approach: 1) requires separate subsystems on a spacecraft for orbit and attitude determinations. Orbit determination tends to be labor intensive and involve ground intervention (ranging) or potentially un-reliable or un-available GPS, 2) requires separate hardware and processing which may be expensive to develop and use.

In contract, embodiments of the disclosure provide a plug-and-play (PnP) sensor system configured to simultaneously provide both attitude and position (six degrees of freedom (6-DOF) position) knowledge for a spacecraft such as a satellite relative to a known object such as the Earth. The PnP system comprises a combined optical sensor for simultaneously measuring both attitude and position of the spacecraft. This combined optical sensor may be coupled with small accelerometers and gyroscopes to provide more accurate measurements and/or higher bandwidth.

Embodiments of disclosure provide a system and methods to estimate a spacecraft position error in Earth centered inertial coordinate (ECI) frame δ^(i)r, (position error δ^(i)r), a body attitude error in ECI frame (attitude error δφ), or other measurement related error. Attitudes and positions of the spacecraft at a present time can be provided from a priori knowledge of previous attitudes and previous positions corrected using previously estimated respective errors. New attitudes and positions at a new present time can then be provided by updating the previous attitudes and positions by respective new estimated errors.

In this manner, embodiments of the disclosure estimate simultaneously the position error δ^(i)r and the attitude error δφ of the spacecraft. The PnP system does not depend on a shared detector design (i.e., which may have various implementation restriction and difficulties), and in some embodiments may comprise an object sensor (Earth horizon sensor) and a star sensor independent of each other. This independence is made possible by specifically estimating the star sensor and the Earth horizon sensor separation angle error δφ (separation angle error δφ) and use the estimate of the separation angle error δφ in the estimation process of the attitude error δφ and the position error δ^(i)r.

The PnP system described herein provides a combined sensor for orbit and attitude determination for spacecraft that doesn't depend on specific star and Earth rim sensor design. The PnP system is independent of the GPS and can use two sensors such as the object sensor and the star sensor with individual detectors independent of one another to avoid sorting out star and Earth signals on the same detector. The PnP system comprises an algorithm that directly uses measurement information to produce both orbit and attitude information in a single sensor module. Further, the PnP system comprises an Earth center determination algorithm to estimate the errors and thereby update the attitude φ and the position r via the estimated errors comprising: separation angle error δφ, the attitude error δφ, and the position error δ^(i)r. The PnP system can use any star sensor and Earth horizon sensor combination (with scaled performance).

FIG. 1 is an illustration of a geometric operation environment 100 of a combined orbit and attitude determination system 110 (system 110) according to an embodiment of disclosure. Spacecraft position (both distance and direction of an orbit) in the ECI is determined by a position vector {right arrow over (r)} (attitude-position vector {right arrow over (r)}) from the Earth center 102 to the spacecraft 104. With the Earth arc to the Earth center 102 angle estimated and the Earth radius R_(E) knowledge, the distance (magnitude) of the position vector {right arrow over (r)} is calculated.

To determine a direction of the position vector {right arrow over (r)} a hypothetical triangle 106 can be formed by the star 108, the Earth center 102, and the spacecraft 104. A star line of sight (LOS) unit vector {right arrow over (s)} (star-spacecraft vector {right arrow over (s)}) from the spacecraft 104 to the star 108 is known in the ECI via spacecraft 104 attitude φ measured by the star sensor, a star-Earth vector {right arrow over (se)} from the Earth center 102 to the star 108 is also known in the ECI via star catalog knowledge. With a separation angle θ between the star-spacecraft vector {right arrow over (s)} and the position vector {right arrow over (r)} or between the star 108 and the Earth center 102 known, and with the knowledge of the magnitude of the position vector {right arrow over (r)}, the direction of the position vector {right arrow over (r)} is determined.

The system 110 then estimates the position error δ^(i)r, and the attitude error δφ of the spacecraft 104 simultaneously. An updated position r (k+1) (position r is a magnitude of the position vector {right arrow over (r)}), and an updated attitude φ(k+1) are then estimated by updating the previous magnitude r of the position vector {right arrow over (r)}, and the previous attitude φ by the position error δ^(i)r, and the attitude error δφ respectively as explained in more detail in the context of discussion of FIG. 2 below.

FIG. 2 is an illustration of a schematic functional block diagram of a combined orbit and attitude determination plug-and-play system 200 (PnP system 200, 110 in FIG. 1) according to an embodiment of the disclosure. FIG. 3 is an illustration of a star/Earth separation graph showing a geometry for estimating the Earth center 102 according to an embodiment of disclosure. The PnP system 200 is described herein in conjunction with FIG. 3.

As mentioned above, the PnP system 200 provides a combined sensor for orbit and attitude determination for spacecraft that doesn't depend on specific star and Earth rim sensor design. The PnP system 200 is a self-contained module that can be plugged into a spacecraft interface, significantly simplifying orbit and attitude determination for spacecraft, allowing: reduced system weight, operational cost of a spacecraft, and cost of future changes.

The various illustrative blocks, modules, processing logic, and circuits described in connection with system 200 may be implemented or performed with a general purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein.

The PnP system 200 generally comprises a physical housing (not shown), a star sensor 202, an object sensor 204, an attitude and orbit position computation module 210, an object center determination module 212, a memory module 214, a processor module 216, and an interface module 218. In another embodiment, the PnP system 200 may also comprise an angular rate gyroscope 206, and an accelerometer 208.

A practical system 200 may comprise any number of sensor modules, any number of processor modules, any number of memory modules, and any number of computational modules. The illustrated system 200 depicts a simple embodiment for ease of description. These and other elements of the system 200 are interconnected together, allowing communication between the various elements of system 200. In one embodiment, these and other elements of the system 200 may be interconnected together via a communication link 220.

Those of skill in the art will understand that the various illustrative blocks, modules, circuits, and processing logic described in connection with the embodiments disclosed herein may be implemented in hardware, computer-readable software, firmware, or any practical combination thereof. To illustrate clearly this interchangeability and compatibility of hardware, firmware, and software, various illustrative components, blocks, modules, circuits, and steps are described generally in terms of their functionality.

Whether such functionality is implemented as hardware, firmware, or software depends upon the particular application and design constraints imposed on the overall system. Those familiar with the concepts described herein may implement such functionality in a suitable manner for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

The star sensor 202 is configured to measure the attitude φ of the spacecraft 104 in an Earth centered inertial coordinate frame to provide a star sensor measured attitude. The star sensor 202 may comprise, for example but without limitation, a star tracker, a sun sensor, or other sensor.

The object sensor 204 is configured to measure the magnitude of the position vector {right arrow over (r)} (measured position r) of an object such as the Earth 112 relative to the star 108 or cluster of stars to provide an object sensor measured position. The object sensor 204 may comprise, for example but without limitation, an Earth horizon sensor, or other sensor.

The angular rate gyroscope 206 is configured to provide additional attitude measurements such that a combination of the star sensor measured attitude and the additional attitude measurements provides an improved accuracy in determination of the attitude φ of the spacecraft 104. An angular rate gyroscope provides a rate of change of the attitude (angular velocity) indicating how fast the attitude is changing in a continuous manner. In contrast, a star sensor may not provide the attitude measurement in a continuous manner. Therefore, combing the additional data from the angular rate gyroscope augments an accuracy of the attitude-position vector {right arrow over (r)} using a gyroscopic drift of the angular rate gyroscope 206 of the spacecraft 104.

The accelerometer 208 is configured to measure external forces on the spacecraft 104.

The attitude and orbital position computation module 210 is operable to estimate the separation angle error δφ, the position error δ^(i)r, and the attitude error δφ, based upon the star sensor measured attitude φ, and the object sensor measured position r to provide estimated errors. In this document, attitude φ, and measured attitude φ may be used interchangeably, similarly position r and measured position r may be used interchangeably.

In practice, the PnP system 110 may receive measurements in relation to the Earth 112, the star(s) 108, gyroscope rate and a signal timing (t). The PnP system 110 estimates the separation angle error δφ, the position error δ^(i)r, and the attitude error δφ, based upon the received measurements, a glow arc 302 (FIG. 3) of the Earth 112, and the Earth center 102.

The attitude error δφ and the position error δ^(i)r are estimated based on the following relationship:

$\begin{matrix} {{\underset{\underset{H \in R^{4 \times 6}}{}}{\begin{bmatrix} H_{st} & 0_{2 \times 3} \\ {\sqrt{\;^{i}r^{T\; i}r}c^{T}C_{bi}^{i}\overset{\sim}{s}} & {{{{}_{}^{}{}_{}^{}}C_{bi}} + {\cos \; \theta \frac{{}_{}^{}{}_{}^{}}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}}}} \\ 0_{1 \times 3} & \frac{{{}_{}^{}{}_{}^{}}\sin \; \rho}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}} \end{bmatrix}}\underset{\underset{x \in R^{6}}{}}{\begin{bmatrix} {\delta \; \varphi} \\ \delta_{r}^{i} \end{bmatrix}}} = {\underset{\underset{z \in R^{4}}{}}{\begin{bmatrix} y_{st} \\ y_{S} \\ y_{R} \end{bmatrix}} - \underset{\underset{\eta \in R^{4}}{}}{\begin{bmatrix} \eta_{st} \\ \eta_{S} \\ \eta_{R} \end{bmatrix}}}} & (1) \end{matrix}$

where H is a matrix comprising known parameters, x comprises unknown parameters comprising the attitude error δφ and the position error δ^(i)r, z comprises measurements such as a star measurement y_(si), a separation angle measurement y_(S), and a range measurement y_(R), η comprises noise sources such as star measurement noise η_(st), separation angle measurement noise η_(S), and range measurement noise η_(R), ρ is an Earth horizon (glow) angle from Earth center 102, r is the measured position of the spacecraft 104 measured by the object sensor 204, b, i superscripts are used to indicate body and the ECI frames respectively, C_(bi) is the ECI to the body frame transformation matrix, T indicates a matrix transpose, C is Earth center vector, y_(st) comprises the measured attitude φ, y_(S) comprises separation angle θ, y_(R) comprises the measured position r, and H_(st)=[Ĉ_(bi) ^(i){tilde over (s)}]_(1:2) is the first two rows of matrix Ĉ_(bi) ^(i){tilde over (s)}.

A truth separation angle θ is calculated based on the separation angle error δφ to provide a separation angle estimate. The position error δ^(i)r is estimated based on the object sensor 204 measured position r and the truth separation angle θ (separation angle estimate θ).

Alternatively, if the angular rate gyroscope 206 is used, in addition to the position error δ^(i)r, the attitude error δφ, and the linear velocity error δν, a gyroscope bias “b” and a gyroscope misalignment “a” of the angular rate gyroscope 206 are also estimated based on the following relationship:

$\begin{matrix} \begin{matrix} {z = \begin{bmatrix} y_{st} \\ y_{S} \\ y_{R} \end{bmatrix}} \\ {= {{\underset{\underset{H \in R^{4 \times 21}}{}}{\begin{bmatrix} 0_{2 \times 3} & 0_{2 \times 3} & H_{st} & 0_{2 \times 3} & 0_{2 \times 9} \\ {{{{}_{}^{}{}_{}^{}}C_{bi}} + \frac{{{}_{}^{}{}_{}^{}}\cos \; \theta}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}}} & 0_{1 \times 3} & {\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}c^{T}C_{bi}^{i}\overset{\sim}{s}} & 0_{1 \times 3} & 0_{1 \times 3} \\ \frac{{{}_{}^{}{}_{}^{}}\sin \; \rho}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3} \end{bmatrix}}\begin{bmatrix} {\delta^{i}r} \\ {\delta^{i}v} \\ {\delta \; \varphi} \\ b \\ a \end{bmatrix}} +}} \\ {\underset{}{\begin{bmatrix} \eta_{st} \\ \eta_{S} \\ \eta_{R} \end{bmatrix}}} \end{matrix} & (2) \end{matrix}$

A batch and recursive filter can be built based on the measurements and the measurement equations (1) and (2) to estimate the position error δ^(i)r, the linear velocity error δν, the attitude error δφ, an estimated gyroscope bias “b” and an estimated gyroscope misalignment “a”, and errors associated with the accelerometers 208 (not shown in equation (2)). The estimated gyroscope bias “b” may be modeled as a random walk signal. The estimated gyroscope misalignment “a” comprises a vector representing misalignments and scale factors.

The attitude and orbital position computation module 210 is also configured to update the attitude φ of the spacecraft 104 based on the star sensor 202 measured attitude φ and the estimated attitude error δφ to provide the updated attitude φ(k+1), and to update the position r of the spacecraft 104 based on the object sensor 204 measured position and the estimated position error δ^(i)r to provide an updated position r (k+1).

The updated position r (k+1), and the updated attitude φ(k+1) are calculated at a new present time k+1 by updating a previously corrected position vector {right arrow over (r)}(k), and a previously corrected attitude φ(k) at a time k by the position error δ^(i)r and the attitude error δφ respectively. The updated position r(k+1), and the updated attitude φ(k+1) of the spacecraft 104 can be estimated by any magnitude and attitude estimation algorithms known in the art.

The object center determination module 212 is configured to determine a center of the object such as the Earth center 102 of the Earth 112 based on the following relationship:

$\begin{matrix} {{\delta \; \theta} = {{{- \frac{{}_{}^{}{}_{}^{}}{\sin \; \theta}}\delta \; c} - {\frac{c^{T}C_{bi}^{i}\overset{\sim}{s}}{\sin \; \theta}\delta \; \varphi}}} & (3) \end{matrix}$

where δc is an Earth center vector error that can be provided in terms of estimate of the separation angle error δφ and the attitude error δφ. FIG. 3 is an illustration of a star/Earth separation graph showing a geometry for estimating center of the Earth 112 or a spatial body 112. A number of glow arc points 304/306/308/310/312/314 are measured on the glow arc 302 of the Earth 112 (spatial body 112) by the object sensor 204 (e.g., an Earth horizon sensor).

An Earth center vector c of the Earth 112 is estimated based on a “circle” such as the glow arc 302 formed by the glow arc points 304/306/308/310/312/314. With more glow arc points more accurate measurement of the Earth center 102 may be provided. The Earth center 102 (spatial body center 102) of the spatial body 112 is calculated based on the glow arc points 304/306/308/310/312/314.

The separation angle θ of the star 108 to the Earth center 102 is estimated based on the star-spacecraft vector {right arrow over (s)}, the spatial body center 102 and the estimated separation angle error δφ. The star-spacecraft vector {right arrow over (s)} and the glow arc points 304/306/308/310/312/314 can be measured using a single measuring device according to an embodiment of the discloser.

The memory module 214, may be realized as a non-volatile storage device (non-volatile semiconductor memory, hard disk device, optical disk device, and the like), a random access storage device (for example, SRAM, DRAM), or any other form of storage medium known in the art. The memory module 214 may be coupled to the processor module 216 such that the processor module 216 can read information from, and write information to, memory module 214.

As an example, the processor module 216 and the memory module 214, may reside in their respective ASICs. The memory module 214 may also be integrated into the processor module 216. In an embodiment, the memory module 214 may include a cache memory for storing temporary variables or other intermediate information during execution of instructions to be executed by processor module 216. The memory module 214 may also include non-volatile memory for storing instructions to be executed by the processor module 216.

The memory module 214 may include a database (not shown) for storing the measured and the known data in accordance with an embodiment of the disclosure. The database may be configured to store, maintain, and provide data as needed to support the functionality of system 200 in the manner described below. Moreover, the database may be a local database coupled to the processor module 216, or may be a remote database, for example, a central network database, and the like. The database may include a lookup table for purpose of storing the data.

The data may comprise, for example but without limitation, the attitude φ, the updated attitude φ(k+1), the position r, the updated position r(k+1), the star-spacecraft vector {right arrow over (s)}, the separation angle θ, the separation angle error δφ, the position error δ^(i)r, the linear velocity error δν, the attitude error δφ, the estimated gyroscope bias “a”, the estimated gyroscope misalignment “b”, or other data. The memory module 214 may also store, a computer program that is executed by the processor module 216, an operating system, an application program, tentative data used in executing a program processing, or other application.

Processor module 216 may be implemented, or realized, with a general purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In this manner, a processor may be realized as a microprocessor, a controller, a microcontroller, a state machine, or the like.

A processor may also be implemented as a combination of computing devices, e.g., a combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other such configuration. In practice, processor module 216 comprises processing logic that is configured to carry out the functions, techniques, and processing tasks associated with the operation of the systems 200.

In particular, the processing logic is configured to support the combined orbit and attitude determination for spacecraft described herein. For, example the processor module 216 may be suitably configured to provide the data from the memory module 214 to the attitude and orbit position computation module 210 for the propose of, for example but without limitation, estimating errors such as the separation angle error δφ, the position error δ^(i)r, the linear velocity error δν, the attitude error δφ, the estimated gyroscope bias “a”, the estimated gyroscope misalignment “b”, or other error, and update the attitude φ, and the position r based on the estimated errors. Furthermore, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in firmware, in a software module executed by processor module 216, or in any practical combination thereof.

The interface module 218 is configured to allow the PnP system 200 to plug into a spacecraft interface module (not shown). The interface module may comprise circuits and/or logic operable to interface the PnP system 200 to plug into a spacecraft interface module.

FIG. 4 is an illustration of an exemplary flowchart showing a combined orbit and attitude determination process according to an embodiment of the disclosure according to an embodiment of the disclosure.

The various tasks performed in connection with the process 400 may be performed by software, hardware, firmware, a computer-readable medium having computer executable instructions for performing the process method, or any combination thereof. The process 400 may be recorded in a computer-readable medium such as a semiconductor memory, a magnetic disk, an optical disk, and the like, and can be accessed and executed, for example, by a computer CPU such as the processor module 216 in which the computer-readable medium is stored.

It should be appreciated that process 400 may include any number of additional or alternative tasks, the tasks shown in FIG. 4 need not be performed in the illustrated order, and the process 400 may be incorporated into a more comprehensive procedure or process having additional functionality not described in detail herein. In practical embodiments, portions of the process 400 may be performed by different elements of the system 200 such as: the object sensor 204, the attitude and orbit position computation module 210, the object center determination module 212, the memory module 214, the processor module 216, the interface module 218, the angular rate gyroscope 206, and the accelerometer 208. Process 400 may have functions, material, and structures that are similar to the embodiments shown in FIG. 4. Therefore common features, functions, and elements may not be redundantly described here.

Process 400 may begin by receiving measurements z in relation to an object, stars, gyroscope rate and a signal timing to provide received measurements (task 402).

Process 400 may then continue by estimating an estimated separation angle error δφ, an estimated position error δ^(i)r, and an estimated attitude error δφ based on the received measurements to provide estimated errors (task 404).

Process 400 may then continue by calculating an estimated attitude φ of a spacecraft such as the spacecraft 104 based on a measured attitude and the estimated attitude error δφ to provide the updated attitude φ(k+1) (task 406).

Process 400 may then continue by calculating an estimated position of the spacecraft 104 based on a measured position and the estimated position error δ^(i)r to provide an updated position r(k+1) (task 408).

Process 400 may then continue by calculating the truth separation angle θ based on the estimated separation angle error δφ to provide a separation angle estimate (task 410).

Process 400 may then continue by estimating the position error δ^(i)r based upon the received measurements and the separation angle estimate 0 to provide the estimated position error δ^(i)r (task 412).

FIG. 5 is an illustration of an exemplary flowchart showing a process 500 for calculating an attitude and position of an object in space according to an embodiment of the disclosure. The various tasks performed in connection with the process 500 may be performed by software, hardware, firmware, a computer-readable medium having computer executable instructions for performing the process method, or any combination thereof. The process 500 may be recorded in a computer-readable medium such as a semiconductor memory, a magnetic disk, an optical disk, and the like, and can be accessed and executed, for example, by a computer CPU such as the processor modules 218/208 in which the computer-readable medium is stored.

It should be appreciated that process 500 may include any number of additional or alternative tasks, the tasks shown in FIG. 5 need not be performed in the illustrated order, and process 500 may be incorporated into a more comprehensive procedure or process having additional functionality not described in detail herein. In practical embodiments, portions of the process 500 may be performed by different elements of the systems 200 such as the object sensor 204, the angular rate gyroscope 206, the accelerometer 208, the attitude and orbit position computation module 210, the object center determination module 212, the memory module 214, the processor module 216, and the interface module 218. Process 500 may have functions, material, and structures that are similar to the embodiments shown in FIGS. 1-3. Therefore common features, functions, and elements may not be redundantly described here.

Process 500 may begin by measuring a star-spacecraft vector {right arrow over (s)} to a star such as the start 108 from a spacecraft such as the spacecraft 104 (task 502).

Process 500 may then continue by measuring a plurality of glow arc points such as the glow arc points 304/306/308/310/312/314 on a glow arc such as the glow arc 302 of a spatial body such as the Earth 112 (task 504). The spatial body may comprises, for example but without limitation, the Earth 112, a planet, a moon, a dwarf planet, a comet, an asteroid, a rocket, a second spacecraft, a satellite, a space station, or other object in space.

Process 500 may then continue by calculating a spatial body center such as the Earth center 102 of the spatial body based on the glow arc points 304/306/308/310/312/314 (task 506).

Process 500 may then continue by estimating an estimated separation angle error δφ, an estimated the position error δ^(i)r, and the attitude error δφ, based upon the star-spacecraft vector {right arrow over (s)}, the glow arc points {right arrow over (s)} and the spatial body center 102, to provide the estimated errors (task 508).

Process 500 may then continue by calculating a separation angle estimate θ of the star 108 to the spatial body center 102 based on the star-spacecraft vector {right arrow over (s)}, the spatial body center and the estimated separation angle error δφ (task 510).

Process 500 may then continue by calculating an updated attitude-position vector of the spacecraft 104 relative to the spatial body 112 based on the separation angle estimate θ, a location of the star 108, a location of the spatial body, and the estimated errors (task 512).

Process 500 may then continue by augmenting an accuracy of the attitude-position vector {right arrow over (r)} using a gyroscopic drift of a gyroscope such as the angular rate gyroscope 206 of the spacecraft 104 (task 514).

Process 500 may then continue by measuring the star-spacecraft vector {right arrow over (s)} and the glow arc points 304/306/308/310/312/314 using one measuring device (task 516).

In this manner, embodiments of the disclosure provide a combined orbit and attitude determination plug-and-play system.

While at least one example embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the subject matter in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope defined by the claims, which includes known equivalents and foreseeable equivalents at the time of filing this patent application.

In this document, the term “module” as used herein, refers to software, firmware, hardware, and any combination of these elements for performing the associated functions described herein. Additionally, for purpose of discussion, the various modules are described as discrete modules; however, as would be apparent one of skilled in the art, two or more modules may be combined to form a single module that performs the associated functions according the embodiments of the present disclosure.

The term real-time refers to a signal that is continuously being sent and received, with little or no time delay. The term near-real-time refers to a real-time signal with substantially no significant time delay. The time delay may be a delay introduced by, for example but without limitation, automated data processing or network transmission, between occurrence of an event, and the like. In this document, the term real-time refers to both real-time and near-real-time.

In this document, the terms “computer program product”, “computer-readable medium”, and the like may be used generally to refer to media such as, for example, memory, storage devices, or storage unit. These and other forms of computer-readable media may be involved in storing one or more instructions for use by the processor module 216 to cause the processor module 216 to perform specified operations. Such instructions, generally referred to as “computer program code” or “program code” (which may be grouped in the form of computer programs or other groupings), when executed, enable a method of using a system.

The above description refers to elements or nodes or features being “connected” or “coupled” together. As used herein, unless expressly stated otherwise, “connected” means that one element/node/feature is directly joined to (or directly communicates with) another element/node/feature, and not necessarily mechanically. Likewise, unless expressly stated otherwise, “coupled” means that one element/node/feature is directly or indirectly joined to (or directly or indirectly communicates with) another element/node/feature, and not necessarily mechanically. Thus, although FIGS. 1-2 depict example arrangements of elements, additional intervening elements, devices, features, or components may be present in an embodiment of the disclosure.

Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term “including” should be read as mean “including, without limitation” or the like; the term “example” is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof; and adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future.

Likewise, a group of items linked with the conjunction “and” should not be read as requiring that each and every one of those items be present in the grouping, but rather should be read as “and/or” unless expressly stated otherwise. Similarly, a group of items linked with the conjunction “or” should not be read as requiring mutual exclusivity among that group, but rather should also be read as “and/or” unless expressly stated otherwise.

Furthermore, although items, elements or components of the disclosure may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. The term “about” when referring to a numerical value or range is intended to encompass values resulting from experimental error that can occur when taking measurements.

As used herein, unless expressly stated otherwise, “operable” means able to be used, fit or ready for use or service, usable for a specific purpose, and capable of performing a recited or desired function described herein. In relation to systems and devices, the term “operable” means the system and/or the device is fully functional and calibrated, comprises elements for, and meets applicable operability requirements to perform a recited function when activated. In relation to systems and circuits, the term “operable” means the system and/or the circuit is fully functional and calibrated, comprises logic for, and meets applicable operability requirements to perform a recited function when activated. 

1. A combined orbit and attitude determination system comprising: a star sensor operable to measure an attitude of a spacecraft in an object centered inertial coordinate frame to provide a star sensor measured attitude; an object sensor operable to measure an object position of an object relative to at least one star to provide an object sensor measured position; and a computation module operable to estimate an estimated separation angle error, an estimated position error, and an estimated attitude error, based upon the star sensor measured attitude, and the object sensor measured position to provide estimated errors.
 2. The system of claim 1, wherein the computation module is further operable to: calculate an estimated attitude of the spacecraft based on the star sensor measured attitude and the estimated attitude error to provide an updated attitude; and calculate an estimated position of the spacecraft based on the object sensor measured position and the estimated position error to provide an updated position.
 3. The system of claim 1, wherein the step of calculating the estimated position error further comprises: calculating a truth separation angle based on the estimated separation angle error to provide a separation angle estimate; and estimating the estimated position error based upon the object sensor measured position and the separation angle estimate.
 4. The system of the claim 1, further comprising: an angular rate gyroscope operable to provide additional attitude measurements such that a combination of the star sensor measured attitude and the additional attitude measurements provides an improved accuracy in determination of the attitude of the spacecraft; and an accelerometer operable to measure external forces on the spacecraft.
 5. The system of the claim 1, wherein the combined orbit and attitude determination system is a plug-and-play system.
 6. The system of the claim 1, wherein the object sensor comprises a first detector and the star sensor comprises a second detector independent of the first detector.
 7. The system of the claim 1, wherein the object sensor and the star sensor comprise a single module.
 8. The system of the claim 1, further comprising computing the estimated errors based on a following relationship: ${\underset{\underset{H \in R^{4 \times 6}}{}}{\begin{bmatrix} H_{st} & 0_{2 \times 3} \\ {\sqrt{\;^{i}r^{T\; i}r}c^{T}C_{bi}^{i}\overset{\sim}{s}} & {{{{}_{}^{}{}_{}^{}}C_{bi}} + {\cos \; \theta \frac{{}_{}^{}{}_{}^{}}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}}}} \\ 0_{1 \times 3} & \frac{{{}_{}^{}{}_{}^{}}\sin \; \rho}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}} \end{bmatrix}}\underset{\underset{x \in R^{6}}{}}{\begin{bmatrix} {\delta \; \varphi} \\ \delta_{r}^{i} \end{bmatrix}}} = {\underset{\underset{z \in R^{4}}{}}{\begin{bmatrix} y_{st} \\ y_{S} \\ y_{R} \end{bmatrix}} - \underset{\underset{\eta \in R^{4}}{}}{\begin{bmatrix} \eta_{st} \\ \eta_{S} \\ \eta_{R} \end{bmatrix}}}$ where H is a matrix comprising known parameters, x comprises unknown parameters comprising the estimated attitude error δφ, and the estimated position error δ^(i)r, z comprises measurements comprising a star measurement y_(st), a separation angle measurement y_(S), and a range measurement y_(R), η comprises noise sources comprising star measurement noise η_(st), separation angle measurement noise η_(S), and range measurement noise η_(R), ρ is an Earth horizon (glow) angle from Earth center, θ is a separation angle, s is a star-spacecraft vector, r is the object sensor measured position, b, i superscripts are used to indicate body and ECI frames, C_(bi) is an ECI to a body frame transformation matrix, T indicates a matrix transpose, C is the Earth center vector, and H_(st)=[Ĉ_(bi) ^(i){tilde over (s)}]_(1:2) is a first two rows of matrix Ĉ_(bi) ^(i){tilde over (s)}.
 9. The system of the claim 1, further comprising an object center determination module operable to determine a center of the object based on a following relationship: ${\delta \; \theta} = {{{- \frac{{}_{}^{}{}_{}^{}}{\sin \; \theta}}\delta \; c} - {\frac{c^{T}C_{bi}^{i}\overset{\sim}{s}}{\sin \; \theta}\varphi}}$ where δφ is the estimated separation angle error, δφ is the estimated attitude error, φ is the attitude, θ is a separation angle, s is a star-spacecraft vector, δc is an Earth center vector error, C_(bi) is an ECI to a body frame transformation matrix, T indicates a matrix transpose, and C is Earth center vector.
 10. A method for calculating an attitude and a position of an object in space comprising: receiving measurements in relation to an object, stars, and a signal timing at a combined orbit and attitude determination system to provide received measurements; and estimating an estimated separation angle error, an estimated position error, and an estimated attitude error based upon the received measurements to provide estimated errors.
 11. The method of claim 10, further comprising: calculating an estimated attitude of a spacecraft based upon a measured attitude and the estimated attitude error to provide an updated attitude; and calculating an estimated position of the spacecraft based upon a measured position and the estimated position error to provide an updated position.
 12. The method of claim 10, wherein the received measurements further comprises measurements in relation to a gyroscope rate, and the estimated errors further comprises an estimated gyroscope bias and an estimated gyroscope misalignment.
 13. The method of claim 10, wherein the step of estimating the estimated position error further comprises: calculating a truth separation angle based on the estimated separation angle error to provide a separation angle estimate; and estimating the position error based upon the received measurements and the separation angle estimate to provide the estimated position error.
 14. The method of claim 10, wherein the step of estimating the estimated separation angle error is further based on a following relationship: ${{\delta \; \theta} = {{{- \frac{{}_{}^{}{}_{}^{}}{\sin \; \theta}}\delta \; c} - {\frac{c^{T}C_{bi}^{i}\overset{\sim}{s}}{\sin \; \theta}\varphi}}},$ where δφ is the estimated separation angle error, δφ is the estimated attitude error, φ is an attitude, θ is a separation angle, s is a star-spacecraft vector, δc is an Earth center vector error, C_(bi) is an ECI to a body frame transformation matrix, T indicates a matrix transpose, and C is Earth center vector.
 15. The method of claim 10, wherein the received measurements comprise at least one member selected the group consisting of: an attitude of a spacecraft, a position of the spacecraft, and a separation angle between stars and the spacecraft.
 16. The method of claim 10, wherein the step of estimating the estimated attitude error, the estimated position error, and a gyroscope bias and misalignment is further based on a following relationship: $\begin{matrix} {z = \begin{bmatrix} y_{st} \\ y_{S} \\ y_{R} \end{bmatrix}} \\ {= {{\underset{\underset{H \in R^{4 \times 21}}{}}{\begin{bmatrix} 0_{2 \times 3} & 0_{2 \times 3} & H_{st} & 0_{2 \times 3} & 0_{2 \times 9} \\ {{{{}_{}^{}{}_{}^{}}C_{bi}} + \frac{{{}_{}^{}{}_{}^{}}\cos \; \theta}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}}} & 0_{1 \times 3} & {\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}c^{T}C_{bi}^{i}\overset{\sim}{s}} & 0_{1 \times 3} & 0_{1 \times 3} \\ \frac{{{}_{}^{}{}_{}^{}}\sin \; \rho}{\sqrt{{{}_{}^{}{}_{}^{T\; i}}r}} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3} \end{bmatrix}}\begin{bmatrix} {\delta^{i}r} \\ {\delta^{i}v} \\ {\delta \; \varphi} \\ b \\ a \end{bmatrix}} +}} \\ {\underset{\underset{\eta {(t)}}{}}{\begin{bmatrix} \eta_{st} \\ \eta_{S} \\ \eta_{R} \end{bmatrix}}} \end{matrix}$ where H is a matrix comprising known parameters, x comprises unknown parameters comprising the estimated attitude error δφ and the estimated position error δ^(i)r, z comprises measurements comprising a star measurement y_(st), a separation angle measurement y_(S), and a range measurement y_(R), η comprises noise sources comprising star measurement noise η_(st), separation angle measurement noise η_(S), and range measurement noise η_(R), ρ is an Earth horizon (glow) angle from Earth center, θ is a separation angle, s is a star-spacecraft vector, r is the object sensor measured position, “a” is an estimated gyroscope misalignment, “b” is an estimated gyroscope bias, b, i superscripts are used to indicate body and ECI frames respectively, C_(bi) is an ECI to a body frame transformation matrix, T indicates a matrix transpose, C is the Earth center vector, and H_(st)=[Ĉ_(bi) ^(i){tilde over (s)}]_(1:2) is the first two rows of matrix Ĉ_(bi) ^(i){tilde over (s)}.
 17. A method for calculating an attitude and position of an object in space comprising: measuring a star-spacecraft vector to a star from a spacecraft; measuring a plurality of glow arc points on a glow arc of a spatial body; calculating a spatial body center of the spatial body based on the glow arc points; estimating an estimated separation angle error, an estimated position error, and an estimated attitude error, based upon the star-spacecraft vector, the glow arc points and the spatial body center, to provide estimated errors; calculating a separation angle estimate of the star to the spatial body center based on the star-spacecraft vector, the spatial body center and the estimated separation angle error; and calculating an updated attitude of the spacecraft and an updated position of the spacecraft relative to the spatial body based on the separation angle estimate, a location of the star, a location of the spatial body, and the estimated error.
 18. The method of claim 17, wherein the spatial body comprises one of: Earth, a planet, a moon, a dwarf planet, a comet, an asteroid, a rocket, a second spacecraft, a satellite, and a space station.
 19. The method of claim 17, further comprising augmenting an accuracy of the updated attitude and the updated position using a gyroscopic drift of a gyroscope of the spacecraft.
 20. The method of claim 17, further comprising measuring the star-spacecraft vector and the glow arc points using one measuring device. 